package com.tang.bloghandle.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tang.bloghandle.dto.BlogInfoDto;
import com.tang.bloghandle.dto.PageBlogDto;
import com.tang.bloghandle.entity.BlogEntity;
import com.tang.bloghandle.vo.BlogInfoVo;

import java.util.List;

/**
 * <p>
 * 博客 服务类
 * </p>
 *
 * @author tang.shencai
 * @since 2024-08-17
 */
public interface IBlogService extends IService<BlogEntity> {

    /**
     * 分页查询博客目录
     * @param dto 入参
     * @return 博客目录
     */
    Page<BlogInfoVo> pageCatalog(PageBlogDto dto);

    /**
     * 全局替换
     * @param oldStr old
     * @param newStr new
     */
    void replace(String oldStr, String newStr);

    /**
     * 分页查询我的博客目录
     * @param dto 入参
     */
    Page<BlogEntity> pageMyCatalog(PageBlogDto dto);

    /**
     * 查询置顶博客
     */
    List<BlogEntity> getTopBlog();

    /**
     * 查询当前处理人博客信息
     */
    BlogInfoDto getCurrentUserBlogInfo();

    /**
     * 修改博客信息
     */
    void updateBlog(BlogEntity entity);

    /**
     * 分页查询我的回收站目录
     */
    Page<BlogEntity> pageMyBin(PageBlogDto dto);

    /**
     * 删除博客
     */
    void deleteBlog(Integer id);
}
